草庐IT

java - 从 Java 调用 C++ dll

全部标签

unit-testing - 如何测试以确保函数被调用?

我想做单元测试。为了简单起见,我只想确保调用“JWTCheck”。我该怎么做?这是我实现JWTCheck的文件:typeJWTCheckerstruct{SubjectPrefixstring}func(j*JWTChecker)JWTCheck(nexthttp.Handler)http.Handler{//Dosomething}这是我实现路由器的地方:import("net/http""github.com/gorilla/mux")//Routerreturnsapreconfiguredrouterforapplicationfunc(a*Adapter)Router()ht

go - 调用通过插件导入的结构的函数

我有以下插件:packagemaintypeTeststruct{Idstring}func(test*Test)GetId()string{returntest.Id}varVTest我正在我的应用中导入它:packagemainimport("fmt""plugin")funcmain(){p,err:=plugin.Open("test.so")iferr!=nil{panic(err)}v,err:=p.Lookup("V")iferr!=nil{panic(err)}fmt.Println(v)}不幸的是,我无法对其调用v.getId()-有没有办法公开在给定结构上设置的所有

pointers - 调用结构属性方法时 Golang 结构指针引用丢失

我正在尝试使用struct来管理树上的访问节点。每当我访问父节点的子节点的方法时,后续调用的父引用就会丢失(即parent.child.method(child)->[parentbecomesnil]->parent(thepreviouschild).child...等等).这是我文件中的错误片段。typeNodestruct{Left*NodeRight*Nodevalueint}func(parent*Node)determineSide(child*Node)(Node,Node){ifchild.Valueparent.Value{ifparent.hasRightNode

go - 使用 JSON 的 POST 调用失败

这个问题在这里已经有了答案:Unmarshallingjsoningolang(1个回答)关闭4年前。我有一个接受这样的请求主体的API:内容类型是application/json。{"firstname":"foo","surname":"bar","age":10,"group":"test"}当我使用像Postman这样的客户端时,请求会通过。但是,来自Go的相同请求失败了:typeStudentstruct{firstnamestringsurnamestringageintgroupstring}student:=Student{"foo","bar",10,"test"}b

go - 模拟一个在 Golang Http 处理程序中调用的函数

我有一个函数需要测试,它看起来像这样:funcparmHandler(whttp.ResponseWriter,r*http.Request){...data,err=backenddb_call(r*http.Request)...return}functionbackenddb_call(r*http.Request)(data[]Data,errerror){parm:=r.URL.Query().Get(parm)//GetDatafromDBforparm...return}在这种HTTP处理程序的情况下,我无法修改parmHandler参数并添加帮助接口(interface

performance - 我应该在每个 http 请求上调用 template.ParseFiles(...) 还是只从主函数调用一次?

我正在使用html/template包使用go编程语言进行一些Web开发。在代码的某些位置,我需要调用函数template.ParseFiles(...)以便我可以从这些文件创建一个模板,然后使用temp.Execute(w,数据)。我想知道是在每个请求上创建模板还是在main中创建一次模板并声明一个全局变量更好。像大多数教程一样,现在我会根据处理函数的每个请求执行此操作。但是,我不知道如果我在每个请求上都这样做而不是将它们作为全局变量来浪费资源。这是它在每个请求上的样子funcViewStats(whttp.ResponseWriter,r*http.Request){//Getst

go - 从 Tcl 脚本调用 golang 函数

我们使用第三方Tcl解析库来验证Tcl脚本的语法和语义检查。驱动程序是用C语言编写的,并定义了一组实用函数。然后它调用Tcl_CreateObjCommand因此脚本可以调用这些C函数。现在我们正在将主程序移植到go中,但我找不到执行此操作的方法。有人知道从Tcl脚本调用golang函数的方法吗?staticintcreate_utility_tcl_cmds(Tcl_Interp*interp){if(Tcl_CreateObjCommand(interp,"ip_v4_address",ip_address,(ClientData)AF_INET,NULL)==NULL){TCL_

function - 添加到 []interface{} 的对象。现在需要获取对象并调用对象各自的 Display() fn

我做了以下事情:用Display()fn定义了一个“父”接口(interface)。创建了2个实现各自Display()fn的子结构。在main()中,创建了2个子对象并将它们添加到:availableObjs[]interface{}现在,在For循环中,想要获取对象并调用其各自的Display()函数。这就是令我震惊的地方。GoPlayground代码:https://play.golang.org/p/jdHpueokrEk尝试在线搜索。内联相同代码:packagemainimport("fmt""reflect")//////ParentInterfacewhichhasDis

html - 转到调用 t.Execute 中的许多参数

我正在尝试使用从数据库表中获取的值来呈现模板。问题是当我运行程序时出现错误。我不知道我做错了什么。我开始创建一个结构:typeAppstruct{TitlestringAuthorstringDescriptionstring}我创建了一个函数来呈现模板:funcrender(whttp.ResponseWriter,tmplstring,datamap[string]interface{}){tmpl=fmt.Sprintf("templates/%s",tmpl)t,err:=template.ParseFiles(tmpl)iferr!=nil{log.Print("templa

go - 通过给键从 map[string]interface{} 调用函数

我希望能够将函数名称传递给gin.Engine路由处理程序。我有以下代码;//statusservicetypeStatusServicestruct{App*gin.Engine}func(s*StatusService)Ping(ctx*gin.Context){ctx.JSON(200,gin.H{"message":"pong",})}app:=gin.Default()//defineservicesstatusService:=&services.StatusService{App:app,}ss:=make(map[string]interface{})ss["auth"